

#include <public/capathtracker_iface_v1.h>





	// ******************* CONSTRUCTOR ************************************



CAPathTracker::CAPathTracker(TEDROOMComponentID id,TEDROOMUInt32 roomNumMaxMens, TEDROOMPriority roomtaskPrio, TEDROOMStackSizeType roomStack, CEDROOMMemory *pActorMemory ) : 

		CEDROOMComponent(id,EDROOMprioMINIMUM+1,0,roomNumMaxMens,roomtaskPrio,roomStack, pActorMemory )

		// ***************	TIMERS ********************

		,EDROOMtimingSAP(this, 3,&pActorMemory->TimingMemory)


		// ***************	TIMERS ********************

		,Timer(&EDROOMtimingSAP, 2 )




		// ***************	Estado Top *****************

		,edroomTopState(*this)


{


}


	//***************	METODOS PUBLICOS  ********************************



		//**********           CONFIGURACION               ************


int CAPathTracker::EDROOMConfig() {




 return 0; }



		//**********           START               ************


int CAPathTracker::EDROOMStart() {



		//****************** Timing Task Start**********************

	EDROOMtimingSAP.Start();

		//****************** Component Start **********************

	CEDROOMComponent::EDROOMStart(); 	// Llamada a la funcion Start de la clase Actor

return 0;}


	// ***************	PROTECTED METHODS *******************************



		//**********        BEHAVIOUR          ************



void CAPathTracker::EDROOMBehaviour() {

	edroomTopState.EDROOMInicio();
	edroomTopState.EDROOMBehaviour();

}




		//**********        ComponentIsFinished           ************


	#ifdef _EDROOM_SYSTEM_CLOSE

TEDROOMBool CAPathTracker::EDROOMIsComponentFinished() {


	return ( CEDROOMComponent::EDROOMIsComponentFinished());

}


	#endif

	// ***************	EDROOM Memory ******************************

void CAPathTracker::CEDROOMMemory::SetMemory(TEDROOMUInt32 numMessages_, CEDROOMMessage * MessagesMem_, TEDROOMBool * MessagesMemMarks_, CEDROOMQueue::CQueueNode * QueueNodesMem_, TEDROOMBool * QueueNodesMemMarks_){
		CEDROOMComponentMemory::SetMemory( numMessages_,MessagesMem_, MessagesMemMarks_, QueueNodesMem_, QueueNodesMemMarks_, QueueHeads);

		TimingMemory.SetMemory(3,TimerInf,&TimerInfMarks[0],TimeOutMsgs,&TimeOutMsgsMarks[0]);


}

